<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>GContentType</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
<link rel="start" href="index.html" title="GIO Reference Manual">
<link rel="up" href="types.html" title="File types and applications">
<link rel="prev" href="types.html" title="File types and applications">
<link rel="next" href="GAppInfo.html" title="GAppInfo">
<meta name="generator" content="GTK-Doc V1.9 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="part" href="pt01.html" title="Part&#160;I.&#160;GIO Overview">
<link rel="chapter" href="ch01.html" title="Introduction">
<link rel="chapter" href="ch02.html" title="Compiling GIO applications">
<link rel="chapter" href="ch03.html" title="Running GIO applications">
<link rel="chapter" href="gio-extension-points.html" title="Extending GIO">
<link rel="part" href="pt02.html" title="Part&#160;II.&#160;API Reference">
<link rel="chapter" href="file_ops.html" title="File Operations">
<link rel="chapter" href="file_mon.html" title="File System Monitoring">
<link rel="chapter" href="async.html" title="Asynchronous I/O">
<link rel="chapter" href="streaming.html" title="Streaming I/O">
<link rel="chapter" href="types.html" title="File types and applications">
<link rel="chapter" href="volume_mon.html" title="Volumes and Drives">
<link rel="chapter" href="icons.html" title="Icons">
<link rel="chapter" href="utils.html" title="Utilities">
<link rel="chapter" href="extending.html" title="Extending GIO">
<link rel="part" href="migrating.html" title="Part&#160;III.&#160;Migrating to GIO">
<link rel="chapter" href="ch14.html" title="Migrating from POSIX to GIO">
<link rel="chapter" href="ch15.html" title="Migrating from GnomeVFS to GIO">
<link rel="chapter" href="gio-hierarchy.html" title="Object Hierarchy">
<link rel="index" href="ix01.html" title="Index">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="types.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="types.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GIO Reference Manual</th>
<td><a accesskey="n" href="GAppInfo.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id2775758" class="shortcut">Top</a>
                  &#160;|&#160;
                  <a href="#id2867435" class="shortcut">Description</a></nobr></td></tr>
</table>
<div class="refentry" lang="en">
<a name="gio-GContentType"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2>
<a name="id2775758"></a><span class="refentrytitle">GContentType</span>
</h2>
<p>GContentType &#8212; Platform-specific content typing</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">

#include &lt;gio/gio.h&gt;


<a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>            <a class="link" href="gio-GContentType.html#g-content-type-equals">g_content_type_equals</a>               (const char *type1,
                                                         const char *type2);
<a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>            <a class="link" href="gio-GContentType.html#g-content-type-is-a">g_content_type_is_a</a>                 (const char *type,
                                                         const char *supertype);
<a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>            <a class="link" href="gio-GContentType.html#g-content-type-is-unknown">g_content_type_is_unknown</a>           (const char *type);
char*               <a class="link" href="gio-GContentType.html#g-content-type-get-description">g_content_type_get_description</a>      (const char *type);
char*               <a class="link" href="gio-GContentType.html#g-content-type-get-mime-type">g_content_type_get_mime_type</a>        (const char *type);
<a class="link" href="GIcon.html" title="GIcon">GIcon</a>*              <a class="link" href="gio-GContentType.html#g-content-type-get-icon">g_content_type_get_icon</a>             (const char *type);
<a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>            <a class="link" href="gio-GContentType.html#g-content-type-can-be-executable">g_content_type_can_be_executable</a>    (const char *type);
char*               <a class="link" href="gio-GContentType.html#g-content-type-guess">g_content_type_guess</a>                (const char *filename,
                                                         const <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guchar"
>guchar</a> *data,
                                                         <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"
>gsize</a> data_size,
                                                         <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a> *result_uncertain);
<a
href="/usr/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"
>GList</a>*              <a class="link" href="gio-GContentType.html#g-content-types-get-registered">g_content_types_get_registered</a>      (void);
</pre>
</div>
<div class="refsect1" lang="en">
<a name="id2867435"></a><h2>Description</h2>
<p>
A content type is a platform specific string that defines the type
of a file. On unix it is a mime type, on win32 it is an extension string
like ".doc", ".txt" or a percieved string like "audio". Such strings
can be looked up in the registry at HKEY_CLASSES_ROOT.</p>
<p>

</p>
</div>
<div class="refsect1" lang="en">
<a name="id2867459"></a><h2>Details</h2>
<div class="refsect2" lang="en">
<a name="id2867470"></a><h3>
<a name="g-content-type-equals"></a>g_content_type_equals ()</h3>
<a class="indexterm" name="id2867481"></a><pre class="programlisting"><a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>            g_content_type_equals               (const char *type1,
                                                         const char *type2);</pre>
<p>
Compares two content types for equality.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type1</code></em>&#160;:</span></p></td>
<td> a content type string.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>type2</code></em>&#160;:</span></p></td>
<td> a content type string.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
<td> <a
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if the two strings are identical or equivalent,
<a
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"
><code class="literal">FALSE</code></a> otherwise.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2867581"></a><h3>
<a name="g-content-type-is-a"></a>g_content_type_is_a ()</h3>
<a class="indexterm" name="id2867593"></a><pre class="programlisting"><a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>            g_content_type_is_a                 (const char *type,
                                                         const char *supertype);</pre>
<p>
Determines if <em class="parameter"><code>type</code></em> is a subset of <em class="parameter"><code>supertype</code></em>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em>&#160;:</span></p></td>
<td> a content type string. 
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>supertype</code></em>&#160;:</span></p></td>
<td> a string.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
<td> <a
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if <em class="parameter"><code>type</code></em> is a kind of <em class="parameter"><code>supertype</code></em>,
<a
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"
><code class="literal">FALSE</code></a> otherwise. 
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2867718"></a><h3>
<a name="g-content-type-is-unknown"></a>g_content_type_is_unknown ()</h3>
<a class="indexterm" name="id2867729"></a><pre class="programlisting"><a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>            g_content_type_is_unknown           (const char *type);</pre>
<p>
Checks if the content type is the generic "unknown" type.
On unix this is the "application/octet-stream" mimetype,
while on win32 it is "*".</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em>&#160;:</span></p></td>
<td> a content type string. 
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
<td> <a
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if the type is the unknown type.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2867800"></a><h3>
<a name="g-content-type-get-description"></a>g_content_type_get_description ()</h3>
<a class="indexterm" name="id2867811"></a><pre class="programlisting">char*               g_content_type_get_description      (const char *type);</pre>
<p>
Gets the human readable description of the content type.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em>&#160;:</span></p></td>
<td> a content type string. 
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
<td> a short description of the content type <em class="parameter"><code>type</code></em>. 
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2863708"></a><h3>
<a name="g-content-type-get-mime-type"></a>g_content_type_get_mime_type ()</h3>
<a class="indexterm" name="id2863720"></a><pre class="programlisting">char*               g_content_type_get_mime_type        (const char *type);</pre>
<p>
Gets the mime-type for the content type. If one is registered</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em>&#160;:</span></p></td>
<td> a content type string. 
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
<td> the registered mime-type for the given <em class="parameter"><code>type</code></em>, or NULL if unknown.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2863787"></a><h3>
<a name="g-content-type-get-icon"></a>g_content_type_get_icon ()</h3>
<a class="indexterm" name="id2863798"></a><pre class="programlisting"><a class="link" href="GIcon.html" title="GIcon">GIcon</a>*              g_content_type_get_icon             (const char *type);</pre>
<p>
Gets the icon for a content type.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em>&#160;:</span></p></td>
<td> a content type string.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
<td> <a class="link" href="GIcon.html" title="GIcon"><span class="type">GIcon</span></a> corresponding to the content type.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2863865"></a><h3>
<a name="g-content-type-can-be-executable"></a>g_content_type_can_be_executable ()</h3>
<a class="indexterm" name="id2863879"></a><pre class="programlisting"><a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>            g_content_type_can_be_executable    (const char *type);</pre>
<p>
Checks if a content type can be executable. Note that for instance
things like text files can be executables (i.e. scripts and batch files).</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em>&#160;:</span></p></td>
<td> a content type string.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
<td> <a
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if the file type corresponds to a type that
can be executable, <a
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"
><code class="literal">FALSE</code></a> otherwise. 
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2863961"></a><h3>
<a name="g-content-type-guess"></a>g_content_type_guess ()</h3>
<a class="indexterm" name="id2863972"></a><pre class="programlisting">char*               g_content_type_guess                (const char *filename,
                                                         const <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guchar"
>guchar</a> *data,
                                                         <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"
>gsize</a> data_size,
                                                         <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a> *result_uncertain);</pre>
<p>
Guesses the content type based on example data. If the function is 
uncertain, <em class="parameter"><code>result_uncertain</code></em> will be set to <a
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>filename</code></em>&#160;:</span></p></td>
<td> a string.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em>&#160;:</span></p></td>
<td> a stream of data.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>data_size</code></em>&#160;:</span></p></td>
<td> the size of <em class="parameter"><code>data</code></em>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>result_uncertain</code></em>&#160;:</span></p></td>
<td> a flag indicating the certainty of the 
result.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
<td> a string indicating a guessed content type for the 
given data. 
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2864121"></a><h3>
<a name="g-content-types-get-registered"></a>g_content_types_get_registered ()</h3>
<a class="indexterm" name="id2864134"></a><pre class="programlisting"><a
href="/usr/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"
>GList</a>*              g_content_types_get_registered      (void);</pre>
<p>
Gets a list of strings containing all the registered content types
known to the system. The list and its data should be freed using 
<em class="parameter"><code>g_list_foreach</code></em>(list, g_free, NULL) and <em class="parameter"><code>g_list_free</code></em>(list)</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td>
<td> <a
href="/usr/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"
><span class="type">GList</span></a> of the registered content types.
</td>
</tr></tbody>
</table></div>
</div>
</div>
<div class="refsect1" lang="en">
<a name="id2864197"></a><div class="refsect2" lang="en"><a name="id2864198"></a></div>
<hr>
<div class="refsect2" lang="en"><a name="id2864200"></a></div>
</div>
</div>
</body>
</html>
